package com.nageoffer.shortlink.admin.common.serialize;
import cn.hutool.core.util.DesensitizedUtil;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;

/**
 * 手机号脱敏反序列化--自定义序列化类PhoneDesensitizationSerializer继承 JsonSerializer
 */
public class PhoneDesensitizationSerializer extends JsonSerializer<String> {

    @Override
//    第一个参数：本身对象的值；第二个：对象通用的序列化器；第三个：序列化生产者？
    public void serialize(String phone, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
//        序列化写入器
        String phoneDesensitization = DesensitizedUtil.mobilePhone(phone);
//        方法将脱敏后的手机号写入到 JSON 文档中。
        jsonGenerator.writeString(phoneDesensitization);
    }
}
